home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3.2 / Ham Radio Version 3.2 (Chestnut CD-ROMs)(1993).ISO / packet / n17jsrc / eaglevec.asm < prev    next >
Assembly Source File  |  1991-01-27  |  700b  |  42 lines

  1. ; Eagle (8530 card) interrupt hooks
  2.  
  3.     .MODEL    MEMMOD,C
  4.     LOCALS
  5.     %MACS
  6.     .LALL
  7.  
  8.     extrn    Stktop,Spsave,Sssave,egint:proc,doret:proc,eoi:proc
  9.  
  10.     .CODE
  11. dbase    dw    @Data        ; save loc for ds (must be in code segment)
  12.  
  13. ; eg0vec - Eagle card #0 interrupt handler
  14.     public    eg0vec
  15.     label    eg0vec far
  16.     push    ds        ; save on user stack
  17.     mov    ds,cs:dbase    ; establish interrupt data segment
  18.  
  19.     mov    Sssave,ss    ; stash user stack context
  20.     mov    Spsave,sp
  21.  
  22.     mov    ss,cs:dbase
  23.     lea    sp,Stktop
  24.  
  25.     push    ax        ; save user regs on interrupt stack
  26.     push    bx
  27.     push    cx
  28.     push    dx
  29.     push    bp
  30.     push    si
  31.     push    di
  32.     push    es
  33.     call    eoi
  34.  
  35.     mov    ax,0        ; arg for service routine
  36.     push    ax
  37.     call    egint
  38.     pop    ax
  39.     jmp    doret
  40.  
  41.     end
  42.